home *** CD-ROM | disk | FTP | other *** search
- =head1 NAME
-
- validate - run many filetest checks on a tree
-
- =head1 SYNOPSIS
-
- use File::CheckTree;
-
- $warnings += validate( q{
- /vmunix -e || die
- /boot -e || die
- /bin cd
- csh -ex
- csh !-ug
- sh -ex
- sh !-ug
- /usr -d || warn "What happened to $file?\n"
- });
-
- =head1 DESCRIPTION
-
- The validate() routine takes a single multiline string consisting of
- lines containing a filename plus a file test to try on it. (The
- file test may also be a "cd", causing subsequent relative filenames
- to be interpreted relative to that directory.) After the file test
- you may put C<|| die> to make it a fatal error if the file test fails.
- The default is C<|| warn>. The file test may optionally have a "!' prepended
- to test for the opposite condition. If you do a cd and then list some
- relative filenames, you may want to indent them slightly for readability.
- If you supply your own die() or warn() message, you can use $file to
- interpolate the filename.
-
- Filetests may be bunched: "-rwx" tests for all of C<-r>, C<-w>, and C<-x>.
- Only the first failed test of the bunch will produce a warning.
-
- The routine returns the number of warnings issued.
-
-